GGGGLLLL____CCCCOOOONNNNSSSSTTTTAAAANNNNTTTT____AAAATTTTTTTTEEEENNNNUUUUAAAATTTTIIIIOOOONNNN, GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR____AAAATTTTTTTTEEEENNNNUUUUAAAATTTTIIIIOOOONNNN, and
GGGGLLLL____QQQQUUUUAAAADDDDRRRRAAAATTTTIIIICCCC____AAAATTTTTTTTEEEENNNNUUUUAAAATTTTIIIIOOOONNNN are accepted.
_p_a_r_a_m Specifies the value that parameter _p_n_a_m_e of fragment light source
Specifies a fragment light. The number of fragment lights depends
on the implementation. They are identified by names of the form
GGGGLLLL____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTTi____SSSSGGGGIIIIXXXX where 0 _< i < GGGGLLLL____MMMMAAAAXXXX____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTTSSSS____SSSSGGGGIIIIXXXX.
_p_n_a_m_e
Specifies a fragment light source parameter for _l_i_g_h_t. GGGGLLLL____AAAAMMMMBBBBIIIIEEEENNNNTTTT,
GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR____AAAATTTTTTTTEEEENNNNUUUUAAAATTTTIIIIOOOONNNN, and GGGGLLLL____QQQQUUUUAAAADDDDRRRRAAAATTTTIIIICCCC____AAAATTTTTTTTEEEENNNNUUUUAAAATTTTIIIIOOOONNNN are accepted.
_p_a_r_a_m_s
Specifies a pointer to the value or values that parameter _p_n_a_m_e of
ggggllllFFFFrrrraaaaggggmmmmeeeennnnttttLLLLiiiigggghhhhtttt sets the values of individual fragment light source
parameters. _l_i_g_h_t names the fragment light and is a symbolic name of the
form GGGGLLLL____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTTi____SSSSGGGGIIIIXXXX, where 0 _< i < GGGGLLLL____MMMMAAAAXXXX____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTTSSSS____SSSSGGGGIIIIXXXX.
_p_n_a_m_e specifies one of ten fragment light source parameters, again by
symbolic name. _p_a_r_a_m_s is either a single value or a pointer to an array
that contains the new values.
To enable and disable fragment lighting calculation, call ggggllllEEEEnnnnaaaabbbblllleeee and
ggggllllDDDDiiiissssaaaabbbblllleeee with argument GGGGLLLL____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTTIIIINNNNGGGG____SSSSGGGGIIIIXXXX. Fragment lighting is
initially disabled. When it is enabled, light sources that are enabled
contribute to the fragment lighting calculation. Fragment light source i
is enabled and disabled using ggggllllEEEEnnnnaaaabbbblllleeee and ggggllllDDDDiiiissssaaaabbbblllleeee with argument
_p_a_r_a_m_s is a single integer or floating-point value
that specifies one of the three fragment light
attenuation factors. Integer and floating-point
values are mapped directly. Only nonnegative values
are accepted. If the fragment light is positional,
rather than directional, its intensity is attenuated
by the reciprocal of the sum of the constant factor,
the linear factor times the distance between the
fragment light and the vertex being lighted, and the
quadratic factor times the square of the same
distance. The initial attenuation factors are (1, 0,
0), resulting in no attenuation.
NNNNOOOOTTTTEEEESSSS
It is always the case that GGGGLLLL____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTTi____SSSSGGGGIIIIXXXX =
GGGGLLLL____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTT0000____SSSSGGGGIIIIXXXX + i.
EEEERRRRRRRROOOORRRRSSSS
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated if either _l_i_g_h_t or _p_n_a_m_e is not an accepted
value.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if a spot exponent value is specified
outside the range [0,128], or if spot cutoff is specified outside the
range [0,90] (except for the special value 180), or if a negative
attenuation factor is specified.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ggggllllFFFFrrrraaaaggggmmmmeeeennnnttttLLLLiiiigggghhhhtttt is executed between
the execution of ggggllllBBBBeeeeggggiiiinnnn and the corresponding execution of ggggllllEEEEnnnndddd.
ggggllllIIIIssssEEEEnnnnaaaabbbblllleeeedddd with argument GGGGLLLL____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTTIIIINNNNGGGG____SSSSGGGGIIIIXXXX
The SSSSGGGGIIIIXXXX____ffffrrrraaaaggggmmmmeeeennnntttt____lllliiiigggghhhhttttiiiinnnngggg extension is supported only on OOOOccccttttaaaannnneeee2222 VVVVPPPPrrrroooo
systems.
On OOOOccccttttaaaannnneeee2222 VVVVPPPPrrrroooo systems, use of the texture q coordinate to achieve
projective texture effects will be processed on a per-vertex basis
instead of a per-pixel basis, unless the texture matrix is set up to be
projective. (A projective texture matrix, specified as 16-element array
M, is defined to be one in which any of the M[3], M[7], or M[11] array
elements is non-zero.) In addition, if either two-sided lighting or
fragment lighting or separate specular lighting is in effect, projective
texture effects will always be processed on a per-vertex basis.